package com.hfh.set;

import java.util.HashSet;
import java.util.Set;

public class SetDemo {
    /*
     如果两个元素的 equals() 方法返回 true，但它们的 hashCode() 返回值不相等，
     hashSet 将会把它们存储在不同的位置，但依然可以添加成功。
      */
    public static void main(String[] args) {
        /*
        set里面保存自定义的数据类型, 一定要重写hashCode和equals方法
        如果不重写, Set无法排重
         */
        Set<Person> set = new HashSet();
        Person p1 = new Person("zs");
        Person p2 = new Person("zs");
        Person p3 = new Person("zs");

        System.out.println(p1.hashCode());//3928
        System.out.println(p2.hashCode());//3928
        System.out.println(p3.hashCode());//3928
        set.add(p1);
        set.add(p2);
        set.add(p3);

        System.out.println(set);//[Person{name='zs'}]
    }
}
